Construct AOCE Address Creates an AOCE packedDSSpec structure representing the address of the mailbox of the machine that it is running on. This could then, for example, be passed to SMPResolveToRecipient to create a mail address for the given machine. AOCE
Create AOCE Business Card Shows how to create a PowerTalk business card anywhere on a given volume. Just create an FSSpec and call CreateBusinessCard() with that FSSpec. AOCE
DragBusinessCard This program shows how to accept drags of flavorTypeDirectory and flavorTypeHFS for a PowerTalk business card, and drags from the application to the Finder to create generic clippings that contain an empty packedDSSpec structure. AOCE
FindSerialPorts This is a little snippet from the "Inside the Macintosh Communications Toolbox" which demonstrates the correct method for detecting which serial ports are present. Communications Toolbox
Get Tool Config This sample shows how to accumulate into a TEXT file the config strings of Connection Tools that have been configured with CMChoose. Communications Toolbox
AEGestalt AEGestalt is a MacApp 3.0 application which shows how to make use of the builtin Apple events support. Development Tools & Languages
Bits o' MacApp Code A few MacApp snippets: Windows Menu,a view that stays centered in its superview, TTextListView, TTextGridView, a Light Gray Adorner, and more. Development Tools & Languages
Dialogs This MacApp sample shows how TextEdit views are enabled/disabled, in this case with radio buttons. Development Tools & Languages
DTSCPlusLibrary This folder is chock full of useful C++ samples (80+ files!), including a complete framework for writing small applications. Development Tools & Languages
DumpSRec This MPW tool converts an arbitrary Macintosh data file or resource into Motorola S-Record format, mostly to assist in downloading code and data to EPROM programmers or non-Macintosh target platforms. Development Tools & Languages
Eenie Eenie - example MacApp 3.0 program of how to use the Dependency mechanism and Adorners. Also shows how to use the new View format with defining customized cursors over views. Development Tools & Languages
LockFile Demonstrates setting the file lock bit in an action atom for the installer. This action atom code resource must be called through a post installation action atom. In the selector field, pass in the name of the target 'infs' resource id. Development Tools & Languages
Low Level Debugger macros Debugger macros for MacApp 3.0. Development Tools & Languages
MacApp C++ Load/dump Two MPW scripts that show a couple ways to use load/dump in MAMake files. Development Tools & Languages
MouseInfo 1.0.1 This sample shows how to make use of MacApp 3.0 Behaviors, how to create them, how behaviors could control window information, track events, and also spawn off other behaviors. Development Tools & Languages
PICTDialog This MacApp sample shows how easy it is to include PICT resources in modal dialogs. Development Tools & Languages
RemoveVMSVersionNumbers This MPW script removes VMS style version number extensions from file names. Development Tools & Languages
ScreenShots from MacsBug It is possible to take a screen shot while in MacsBug by adding this function to your program. You can jump directly to this function from anywhere in your program using MacsBug commands, take a screen shot, and then continue with normal program execution. Development Tools & Languages
Shared Lib. Mgr. C++ This snippet shows how to turn a generic C++ class (not Pascal/Handle object based) into a Shared Library class. The Makefile is a suitable template for similar work. Development Tools & Languages
ShowBalloon XFCN This XFCN allows you to use Balloon Help in conjunction with HyperCard. The source code and the demo stack will get you going. Development Tools & Languages
UserFunction Gestalt This snippet is for Installer scripters. The UserChkGestaltFunction provides an alternative to the CheckGestalt clause which requires that the scripter provide all possible matches to the results of the Gestalt call. With the User Function, the script writer can simply check for the existence of a gestalt selector, without having to worry about it's return values. Development Tools & Languages
Windoid Windoid is a MacApp 3.0 sample, which shows how to construct tear-off floating windows. Development Tools & Languages
Audio CD An MPW Tool that allows you to start, stop, pause, and continue audio CD tracks. Devices
CDROMDriveCheck An MPW c tool that checks to see which SCSI IDs are AppleCD SC drives. It makes a status call(97) to the AppleCD SC driver (only works with this driver). Devices
DisableEject Shows how to stop a floppy disk from being ejected. This has no chance of being compatible with future system software. Devices
Disk Icons This C routine calls disk drivers to retrieve icon information. Devices
EgretWakeup This is a test program to tell a Mac with an Egret (or Egret derivative) chip when to power up. It does so by calling the _Egret trap. If the Power Manager exists, use the SetWUTime call as per Inside Macintosh, Power Manager chapter (Vol VI). This program only works on a Egret-based Macs that ALSO can do softpower. For example while the IIsi and LC CPUs both have Egrets, LCs can't do soft power on). Devices
Floppy II This sample uses the sony driver calls to get the format list of a super drive disk, to find if the disk supports MFM 720 disk. If so, it reformats the disk to be that type. !! Warning: The data on the disk in drive 1 will get blown away and there are no warnings.!! Devices
ledApp This is a faceless background task for System 7. It counts to 7 on an extended keyboard’s lights repeatedly until the Shift and Caps Lock keys are pressed, or until it receives a Quit Application Apple event. Devices
PBxxx Serial Demo Shows how to use the serial ports correctly. Connect your macs up with a serial cable if you want to see it in action. Or just look at the code to see how things ought to be done. Devices
ReadSector MSDOS This snippet shows how to read and write physical sectors on MS-DOS floppies within your application (as Apple File Exchange does), rather than writing an external file system. Devices
SCSI Inquiry This MPW tool shows how to make a SCSI inquiry command to an HD80SC. Devices
SCSI Simple Sample A simple sample that can deal with both the old and new SCSI Managers. Devices
Serial Driver Arbitration This is an example of how to correctly arbitrate the serial ports. It's taken from tech note DV 11 - Opening the Serial Ports. Devices
SlotVInstall This little program installs a slot VBL task for the main screen, even if the main screen uses built-in video, by getting the gdRefNum and calling GetDctlEntry to find the slot number. Devices
AsyncPB AsyncPB is an example of how File System calls can be made in a chain from an interrupt handler like the Time Manager. Files
DeleteDirectory This C routine will delete a subdirectory from a Macintosh volume, including any nested directories. It works in AppleShare as well as normal environments. Files
deleteEmptyDir These MPW tools identify and/or delete all empty folders on a specified volume using PBCatSearch. Files
ficycle This THINK Pascal™ program lists the files contained in a folder. Files
GetFInfo, GetVInfo MPW Tools that simply parse command-line options and print the value of the parameter blocks returned from Toolbox calls. Files
ParseFullPathname ParseFullPathname takes a full pathname (which can be longer than 255 chars, and walks down it, converting it to dirID's along the way. This is the opposite of the procedure described in TN #68 (more or less). DTS does not condone this. Files
PBCatSearch This small sample shows how to use the PBCatSearch function. It presents a dialog where you can enter any Creator and File Type, then it searches for one (1) file with that creator and type. When it finds it, it will show you the file name. Files
PBDTGetAppl This snippet shows how to access the desktop database to get information about an application based on its creator. See the code in SlimFunctions.c for how tomake the calls. Files
resolveRelativeAlias resolveRelativeAlias is an MPW tool which demonstrates use of a relative alias for locating a file in a known folder on an unknown volume. Files
Select Folder w/ Gray files This is an example of twisted abuse of user interface in order to achieve a noble purpose: as better "Select Folder" example that shows the files in the folder grayed out. Files
SettingUpStdFile This snippet demonstrates how to make Standard File select an initial file under both System 6 and System 7. Files
SFGetFolder C This sample uses the new System 7 CustomGetFile routine to provide a StandardGetFolder call to be used by applications when the user needs to select a folder instead of a file. C Version. Files
SFGetFolder Pascal This sample uses the new System 7 CustomGetFile routine to provide a StandardGetFolder call to be used by applications when the user needs to select a folder instead of a file. Pascal Version. Files
stdFilterHacking The new Standard Dialog Filter in 7.0 and later has a problem: if you dim a button and then your dialog gets an activate event, the button will be re-enabled! Here's some code to fix the problem. Files
TimerTst This hardware-dependent snippet shows how to use the VIA timers (for the few times when the Time Manager is not appropriate). Hardware
VBL Thang InstallPersistentVBL takes a VBLRecord and installs it in such a way in this sample code that the VBL will get time even when the application that installs it is switched out. Hardware
AE Interaction Sample Two small applications, Sender and Receiver, show what interaction levels mean to the Apple Event Manager. Interapplication Communication
AECDEV/AEDEAMON This sample is designed to answer that age-old question; "How do I send AppleEvents from a DA/CDEV/INIT/Driver?" Read the read_me to find the answer <grin>. Interapplication Communication
AECoercion AECoercionINIT shows how to install System level AppleEvent Coercion routines at INIT time. You may also be interested in the coercion routines as samples of AE coercions in general. Interapplication Communication
FinderOpenSelection This sample sends Finder 'Open Selection' events two different ways. The first, 'Send Open Selection', opens the file you select. The second,'Open Window Containing...' will open the Finder window containing the file you select. Interapplication Communication
IPCLister A small example of how to use IPCListPorts. This sample collects and displays all the PPC/AppleEvent capable machines in your current zone and puts them in a nice list. Interapplication Communication
ODOC This sample sends an 'odoc' event to a specified running application Interapplication Communication
SendFinderOpen This snippet shows you how to send an OpenSelection Finder AppleEvent. Interapplication Communication
Simple HLE Here is a simple High Level Event sample. It posts two events, then uses a filter to accept the second one. Using AppleEvents is a much better solution than using High Level Events, however... Interapplication Communication
SmallDaemon This is a minimal faceless background application (FBA) for System 7. Versions are provided in MPW C and MPW Pascal. Interapplication Communication
SuspendAppleEvent A simple example of suspending and resuming an AppleEvent. Interapplication Communication
TEXTtotypeIntlCoercion A coercion routine that seamlessly converts old-style typeChar data to typeIntlText, so you don't have to rewrite old code. Interapplication Communication
Cache Flushing Cache.c contains code to correctly flush instruction and data caches on all Macintosh CPUs, including the Quadras. Memory
Switch Stack This is a simple example of showing how to correctly switch to a private stack for interrupt-time code that requires more than a few dozen bytes of stack space. The example uses THINK C's inline assembler, so MPW users will have to either inline it, or write something similar using MPW's assembler. Memory
ADSP Chat ADSP Chat is a sample application demonstrating the use of the AppleTalk Data Stream Protocol (ADSP). Networking
ENET Sample This snippet demonstrates how one can use the Ethernet routines described in Inside Macintosh volume VI. The program demonstrates the basic use of the various Control calls to the ENET driver. Networking
Get Ethernet Address Demonstrates both the use of the LAP Manager to get the current AppleTalk connection device and a call to EGetInfo to obtain the burned in Ethernet address. Networking
Get LAP Connection Sample code to demonstrate use of the LAP Manager call to determine the current connection type i.e LocalTalk, EtherTalk phase 1/2, or TokenTalk phase 2. Networking
GetADEVType Sample code to demonstrate use of the LAP Manager call to determine the current connection type i.e LocalTalk, EtherTalk phase 1/2, or TokenTalk phase 2. Networking
TCP Includes two MPW Tools, TCPSend and TCPReceive, that demonstrate a very simple establishment of a TCP connection and sending a text string over that connection. An API library of all the MacCTB driver and DNR calls is also included. Networking
TCP Server This client/server sample uses MacTCP to implement a simple "greeting" server. The server opens up several listeners on kGreetingPort (1235). Networking
TCPClose This snippet shows how to close a connection gracefully without causing errors or forcing aborts on either the local or remote end. Networking
testNBP Test program to demonstrate case insensitivity of NBP. Two names are registered and confirmed. A lookup is performed with both lower case and upper case initial letters of the object. Also demonstrates the use of the PSetSelfSend capability. Networking
Transition Queue Watcher This sample program demonstrates the implementation of an AppleTalk Transition Queue to demonstrate the messages which get passed when transition events take place. Networking
UDPSample This sample illustrates how to send and receive MacTCP UDP packets, setting up a simple connectionless chat program. Instead of an outstanding read command, an ASR is used to inform the program there is data to be received. Networking
Zap TCP Application This small app contains a trap patch to _ExitToShell which will search all open MacTCP connections for any connections which are allocated within the currently quitting or crashing application. Any such connection will be closed and its assocated MacTCP stream will be released. This will prevent most of the Mac crashes associated with MacTCP networking. You can easily put this code into your MacTCP application for the same functionality. Networking
Sleep Queue Entry This snippet demonstrates how to create a sleep queue entry under Think C. OS Utilities
TestGestalt These sample applications show how to use Gestalt to get information on system features. OS Utilities
Dashed Lines This sample demonstrates how to draw dashed line objects on PostScript printers. This simple example does not deal with QuickDraw printers, on which it draws solid black lines. Printing
Dashed-capped Lines This sample demonstrates how to draw dashed line objects on PostScript printers. In this case, they are capped PostScript lines. I use round caps, which means that the ends of the lines are rounded. This simple example does not deal with QuickDraw Printing
GrayText This sample demonstrates two methods of printing gray text. On PostScript printers it sends PostScript, on QuickDraw printers it sends Color QuickDraw calls. If a QuickDraw printer does not use a CGrafPort, the gray text comes out as black. Printing
HairLines HairLines is an MPW 3.2 Pascal sample that demonstrates different methods of creating hairlines on printers. Printing
ImageWriter bug This sample snippet demonstrates how to work around the 'dctb' bug in the ImageWriter II 6.1 and 7.0 drivers. This bug causes a crash when doing a style (Page Setup) dialog after setting draftBits with PrGeneral. Printing
InvertedText This sample application gives you cool tricks for printing inverted text. Printing
IsImageWriter This program contains a few functions for determining if an ImageWriter is connected and if so, which port it should be connected to. Printing
Offscreen region maskRgn Takes a text string, turns it into a region and copies a bitmap to the printing grafPort through the maskRgn. The effect is patterned text here, but any image could be showing through the text. Printing
PDlog Expand This example shows how to add items to print dialogs. It’s essentially the code in Tech Note #95, only in C. Printing
PicCommentsTest Here's a complete working application you can use to investigate further the interpretation of picture comments by various printer drivers under various circumstances. Read TN#91 for details. Printing
PostScriptHandleDemo This sample demonstrates how to use the PostScriptHandle PicComment to send PostScript to PostScript printers. This is of course only useful for PostScript printers. Printing
Print multipage PICT Takes a PICT larger than one page and "tiles" it so that it prints across the right number of sheets of paper to tape together and make a poster, like many drawing applications. Printing
Rotated Thingies This example demonstrates how to rotate objects on PostScript printers using two methods: RotateBegin/End PicComments and TextBegin/End PicComments. PrGeneral is used to change the resolution, which throws another wrench in the works: scaling. Printing
Save Print Record Walks you through the style and job dialogs to create a print record ready-to-print-with, and then saves it to a resource file with resource type 'YO!!' and ID 128. The first step towards saving print records for multiple printers. Printing
Scalable PostScript PICT Shows how you can use the PostScript clip in combination with the QuickDraw clipping region to make PostScript code that scales at run-time. Has some limitations, but a useful technique. Printing
SetPDiMC This MPW tool sets the “Printer Driver Is MultiFinder Compatible” flag (see “Learning to Drive” on the Developer Essentials disc). Printing
Stylemap Yet another code illustration for the Q&A on "intrinsic styles of a PostScript font" in d e v e l o p, Summer 1991. Printing
Just Finder Handy little application for font workers -- run this and when it's done, the only foreground process you have left is the Finder, which means you can work freely within the Fonts folder. Shows how to kill processes safely, which isn't as easy as it looks even though we have other snippets to do this. Processes
KillEveryOneButMe This thing shows you how to kill all the other applications running on a machine for demos, school situations, kiosks, etc. PLEASE don't abuse this. Processes
LaunchWithDoc This is the smallest Launch application we could come up with; it launches an application with the 'odoc' (Open Documents) Apple event. Processes
LaunchWithDoc2 Document-launching sample program Loosely based on C.K. Haun's LaunchWithDoc. This snippet includes some very useful routines. Processes
Process An MPW tool that prints information about all running processes under System 7.0. Processes
quitapps DTS Code Snippet to quit all running applications (except yourself) Processes
SubLaunch This sample application shows how to launch one application from another. Processes
AlternateBufferDisplay Shows that copybits along with offscreen bitmaps can emulate alternating buffer displays at a reasonable rate. QuickDraw
Band Copying, the Sequel Under low memory conditions, it's often necessary to draw an image by individual bands rather than to draw the entire image at once, and in most cases this method works fine unless the image requires dithering from its source to its destination. The purpose of this app is to show the problem that may occur when copying these individual bands and to provide one possible solution. QuickDraw
CalcCMask & CalcMask This snippet shows how to use both CalcCMask and CalcMask to create a mask given a source bitmap image. This is similar to the lasso tool found in many drawing apps. QuickDraw
ClutWind Displays a window that shows the colors in the color table associated with the device the window is on top of. QuickDraw
CollectPictColors This application demonstrates two methods of collecting colors used by Pict resources: the Picture Utilities package and Jon Zap's KnowsPict application. Each method gives different results. QuickDraw
Color Picker This app provides a quick example of how to change palette colors using the Color Picker Package. The program simply creates a palette, attaches it to a window, then calls color picker routines whenever a user clicks in the window to change a color QuickDraw
Compressed PICT Info This snippet shows how to use the StdPix proc to intercept and display the compression type and depth of any compressed PICT within a PICT resource. QuickDraw
CopyBits vs. CopyMask This snippet drag races CopyBits (using a mask region) and CopyMask (using a mask BitMap). Which do you think is faster? The results may surprise you. QuickDraw
CopybitsSpeedPalette This program demostrates ways to increase copybits speed when using palettes. QuickDraw
CopyDeepMask This program demonstrates the use of CopyDeepMask using 2 PICTS (one a photograph and the other a triangular mask). It uses 2 offscreen gworlds to hold the source and mask pixmaps. CopyDeepMask is then used to create the masked image and display it in the application window. The source, mask, and destination rectangles are all the same size in order to avoid altering pixel sizes. QuickDraw
CopyMask Shows how CopyMask can used to fade a screen to a lighter color. QuickDraw
DeepScreen Picker This sample shows how to slam and center the Color Picker dialog onto the deepest device when 32 Bit QuickDraw is not available. QuickDraw
Direct Pixel Access This snippet shows one example of how to directly change the pixel values stored in a pixel image. QuickDraw
DirectSetEntries This sample demonstrates the use of DirectSetEntries to remap colors on a direct device. QuickDraw
DTS Groupies This thingy groups a bunch of pictures together and takes them apart using PicComments and a QuickDraw bottleneck procedure. It's an example of how to store and retrieve custom PicComments, among other things. QuickDraw
FindFamilies An MPW tool for examining font dependencies. You tell FindFamilies what installed font family you're interested in, and it finds all the bitmap and outline fonts referenced by that family and tells you what other families also reference them. Helps to check "Style-linking" so you can see that the plain variant of "MyFont Bold" is really also the bold variant of "MyFont Plain", etc. Shows how to manipulate FOND resources and make the GetNextFOND call under System 7.1 and later. QuickDraw
GDevVideo This code shows how to get the parameters out of GDevice records. QuickDraw
GrayishOutline This snippet was written in reply to a developer question on how to draw the "best possible gray" across several screens of various depth (see the related Q&A in a recent d e v e l o p near you). QuickDraw
icl8 To cicn This snippet converts a 'icl8' and 'ICN#' resource to a 'cicn' resource. QuickDraw
Icon Display A Think C project that shows how to display the pure pixel data in icnX families. QuickDraw
IconDimming This snippet shows two different ways to achieve a dimming effect on icons. The first method uses a custom color search procedure, and in the second method the RGB components of the icon's colortable entries are all dimmed before the image is copied. QuickDraw
MakeIcon This program shows how to take any size pixmap and create any size or depth icon. QuickDraw
MakeITable This sample application shows how to manipulate a GDevice’s inverse table. QuickDraw
Marquee Demonstrates marching ants (the scrolling dashed lines used in a selection rectangle). QuickDraw
MyDeviceLoop This snippet shows how to write a device loop that works under both System 7 and pre-7.0 systems. It installs a device loop procedure that searches all active screen devices, calling a drawing procedure whenever it encounters a screen that intersects the drawing region. QuickDraw
Out of This GWorld The application basically uses offscreen GWorlds and palette animation to simulate totally cool animation. QuickDraw
Palette Animation and Palette Animation Gray These sample applications show how to animate the entries of a palette. QuickDraw
Pallete DA This desk accesory displays the the current color table and palette information associated with it. QuickDraw
PixMap2PixPat2ppat This snippet shows how to convert a 'icl8' image to a PixMap image and then to a PixPat and then finally to a 'ppat' resource. In this example, the 'ppat' resource is saved-off into a resource file. QuickDraw
QuickDraw™ FX A demo of every CopyBits permutation you can imagine, and then some. QuickDraw
Record•RetrievePictInfo This snippet shows how to retrieve the colortable from multiple PICT resources using the System 7 calls RecordPictInfo and RetrievePictInfo. QuickDraw
Restore Screen Cluts This snippet shows how to restore all the screen’s color tables back to what they normally are using two different methods. QuickDraw
Rotate Bitmap 90° Shows a fast way to rotate bitmaps by 90 degrees. QuickDraw
RotateString This contains the code for rotating a string 90 degrees. Just call RotateString and you get back a BitMap containing the rotated text. QuickDraw
Rubber Bandit This silly little app demonstrates how to do rubber-banding in a dialog using srcXOr mode. QuickDraw
Save PICT file Creates a QuickDraw PICT and saves it as a PICT file, including the required header of 512 bytes of nothing important. QuickDraw
SearchProcs & Color Separation This snippet shows how to create and install your own custom search procedure. In this example, the searchProc performs RGB color separation. QuickDraw
SeedCFill Example This snippet shows how to use the SeedCFill routine. QuickDraw
Snapshot This program demonstrates how to easily capture the main screen's desktop image into your own window. QuickDraw
TE Over Background This sample shows how to use TextEdit over a background GWorld without those nasty white patches. The trick is to patch the bottlenecks for the port so that when TextEdit erases it just copies your bits rather than erasing. QuickDraw
TickAnimate Sample of how to use ticks to synchronize drawing to the screen. QuickDraw
TranslateRotate This MPW Tool demonstrates the use of the Fixed and Frac types to perform simple 2D translation and rotation. QuickDraw
txRatio PICT Creates a PICT file with a PICT containing the txRatio opcode. Someone wanted such a picture, so this is how to create one. QuickDraw
ZoomRecter This snippet shows how to do "Finder" style zooming between two rectangles. The boolean flag "kZoomLarger" controls the proportional direction of the zooming. QuickDraw
AddFrameToMovie This program demonstrates adding a frame to the end of an existing QuickTime movie. QuickTime
Decompression & Scaling This snippet shows an example of how to convert a version 2 PICT to a compressed QuickTime data buffer. Once the PICT is compressed, it is then decompressed to the window at one quarter its original size. QuickTime
Easy Video Grabber A very tiny little library of routines that simply grabs a single frame of video into the current GrafPort, into a requested rectangle using the QuickTime component interface. QuickTime
MCPlayMovie This program demonstrates playing movies with QuickTime movie controllers. It also allows the user to save the movies in a flattened format using FlattenMovie(). QuickTime
PlayMovie This program demonstrates playing movies with QuickTime (without the controller). It also allows the user to save the movies in a flattened format using FlattenMovie(). QuickTime
2BufRecord&Play This application uses double buffering for both recording and playback. Sound
2BufRecordBufferCmd This application records the sound into two buffers and as one buffer is recording the other buffer is played using bufferCmd. Sound
2BufRecordSndPlay This application records the sound into two buffers and as one buffer is recording the other buffer is played using SndPlay. Sound
BufCallback This code demonstrates the use of a call back routine with the sound manager. All it does is play a sound with bufferCmd and then wait for the call back routine to be called. When the routine is called the app goes back to the event loop. Sound
ClickSound A simple sound producer. Sound
Double Buffer This sample application shows how to play sounds using double buffering. Sound
EasyPlayRecord This simple application demonstrates the use of SnStartFileplay at the same time as doing simple recording. The sound file is a AIFF file. The sound will continue to play until it is done. When the recording is stopped the recorded sound will be played over the currently playing sound. Sound
EnableSoundThrough This application, written in THINK Pascal, demonstrates how to enable input sound playthrough. On a Macintosh LC, enabling playthrough kills sound output; on a Macintosh si, you can play back at the same time. Sound
FreqForEverChange This sample application shows how to play a sound and how to alter its frequency. Sound
GiMeDaPalette w/Sound This is the original version of GiMeDaPalette with a change to make it possible to play a sound at the same time as the colors are being animated. Sound
MeterTest This snippet demonstrates record metering through the use of SPBGetDeviceInfo() and SPBSetDeviceInfo() using the siLevelMeterOnOff selector. Sound
MultiPlay This sample application shows how to play a sound several times in a row. Sound
RecordToFile This app builds an AIFF file (actually it rebuilds a file which is selected). Then it records to the file with the low level sound input calls. When the recording is done, the code make sure that the AIFF header is correct and then plays the sound back with SndStartFilePlay. Sound
SampleSndPlay This sample application shows how to use SndStartFilePlay. Sound
SndForEver This application demonstrates how to play a 'snd ' resource that has a loop in it. Sound
SoundLevel A simple application that meters the sound input level on the microphone using a display much like a VCR peak-hold bar meter. Sound
'vox ' recording This application uses Quad buffering for both recording and playback. The recording is done with vox recording on, so it only records sound which is at least of a certain level. Sound
WaveTable Sounds These snippets show how to use waveTableSynth and squareWaveSynth. Sound
AE/EM trapping 1.0.1 Some MacsBug macros that allow you to break on AppleEvent and Edition Manager PACK calls.With these macros you can type 'atb AESend' (or any other AppleEvent or Edition Manager call) and you will break when the call is made. Testing & Debugging
Audit Audit is a small library of functions that provide an unobtrusive event tracing capability to applications, drivers, code-resources, call-backs, and any other "flavor" of Macintosh software. Testing & Debugging
BusErrorTest Shows how to replace the 68K bus error vector—very useful for testing. Testing & Debugging
DebuggerPresence This is a small snippet of code that can be used to to detect if macsbug is installed or not. NOTE: This code is intended to only work with version 6.2 of macsbug. You should refer to your Low Level Debugger's manual for more information. Testing & Debugging
Gestalt dcmd This dcmd (debugger command for MacsBug) allows you to “use” Gestalt when you're in MacsBug. You can either ask for a particular selector (ie. evnt) or ask for all (no arguments). The response is either a string (when the selector is known) or the numeric value returned by Gestalt. Testing & Debugging
Time Manager Debugging Add this resource file to your MacsBug "Debugger Prefs" file and you'll have the TMTask record defined, a macro TMQ to see the time manager queue item by item, and a dcmd TM that will list all the currently installed time manager tasks. Testing & Debugging
ChangeTextStyleRec A utility routine that can simplify the process of modifying a TextStyle record to change a font, style, or type size. Text
NamingTableAccess NamingTableAccess is a Pascal Unit, and a small application demonstrating its usage. It helps dig out the contents of the NamingTable in a TrueType 'sfnt' Text
AddResMenu7.1 In System 7.1 AddResMenu doesn't alphabatize anything but FONT resource names. This snippet includes a function which you can use in your applications to get the same functionality as AddResMenu under systems before 7.1. Toolbox
BigScrolling This snippet demonstrates the basics of creating and tracking a scroll bar. Toolbox
ColorCDEF This working sample defproc emulates the features of the standard button control for system software 7.0 on the macintosh. Toolbox
ColoredCheckBox This app demonstrates how to create a check box on a gray window background. The key to this is making sure that the background color for the window is set. Toolbox
DateThing A sample of how to write one of those date things as in the General control panel. Toolbox
DialogBits This sample application shows how to deal with many of the most commonly asked questions about the Dialog Manager. Toolbox
FindSysFolder In this code, the FindSysFolder returns the real vRefNum and dirID of the current System Folder. It uses the Folder Manager, if possible, or falls back to SysEnvirons. Toolbox
GetDragHiliteColor This shows how to obtain the color that the Drag Manager uses to hilite regions when ShowDragHilite is called. Please note this is only how it's done presently. Since it is undocumented it can and will change in the future. Toolbox
GridWindowGrow This snippet shows how to grow a window constrained to a grid (i.e. only allow a window to grow or shrink by 30 pixels, or whatever). Toolbox
HideMenuBar This snippet shows how to hide the menu bar by simply creating a window with a visRgn that includes the entire main screen's gray region and its menu bar. Toolbox
ItemHider Two sample applications, in both MPW and Turbo Pascal® versions, show how to hide editText fields in a dialog. Toolbox
jGNEFilter This snippet is a sample GetNextEvent filter which uses the JGNEFilter mechanism described in Tech Note #85 "GetNextEvent: Blinking Apple Menu". Toolbox
KCAP app 1.2 Demonstration keyboard drawing from KCAP resource. The DrawKeyCaps function draws the key caps, given a set of modifiers (in the high byte of the modifier short parameter) and KCHR and KCAP resource IDs, using the current pen in the current GrafPort . Toolbox
KeyMapTest Shows how to interpret the results of GetKeys. Toolbox
ListInDialog A snippet that shows how to put a List Manager list in a dialog. It's easy, just create the list right after you create the dialog, then call LUpdate and LClick in a dialog filter to respond to user events. Toolbox
MDEF.Sample An MDEF written in Pascal that supports rez MENU templates and allows you to request the use of the Shift-Command symbol (made famous by our friends to the North). Toolbox
MenuHook/MBarHook exposed Installs routines called when a menu is pulled down and when the mouse is down in the menu bar. Inverts the region underneath the menu so you can graphically see the results, as well as flashes status indicators. Can mess up your desktop (but only visually). Toolbox
MModal 7.0 A small sample showing one way of implementing Movable Modal dialogs in a 7.0 or later application. Toolbox
Modal TextEdit This snippet shows the steps necessary to implement a scrolling, editable text field in a modal dialog. Toolbox
Modeless Dialog Sample A sample application showing how to implement a modeless dialog with a couple of controls. Compiles with the PowerPC Universal interfaces for both 68K and PowerPC applications, which you can get from a Developer CD or AppleLink. Toolbox
NoResDialog OK, so despite all your planning, you still think you may need to create dialogs on the fly , without having any resource templates available for the DITL. This small sample creates a dialog with an OK button witha border around it, all with in-memory data structures. Just look at the function NoResDialog(...), and you'll see. Toolbox
NoSound This small app, placed in your Startup Items folder, quiets the startup sound by installing a Shutdown procedure that saves the current volume setting and sets the volume to 1. On the following startup, the saved setting is restored, and the Shutdown procedure is re-installed for next time. And so on... Toolbox
Notification Hacks A collection of sick Notification Manager hacks. Toolbox
OpenWindow Shows basic initialization calls and how to open a window for drawing. Toolbox
OtherResInfo-MungeDeamon This sample demonstrates how to use a background-only application and AppleEvents to safely open and query another application's (or other file's) resource fork. Toolbox
Password This is a simple demo of three ways to implement a password dialog, where characters typed are not drawn; instead, anonymous characters such as bullets are drawn, keeping the password secure. Toolbox
PBAllocate This MPW tool shows how to work around a bug in PBAllocate. Toolbox
Prefs This Think C application displays a sample preferences dialog containing edit text, radio buttons, and a file selection button, and demonstrates storage of the item settings in a preferences file. Toolbox
readLocation This snippet shows how to retrieve the Map control panel settings for longitude and latitude and the time offset from GMT Toolbox
Reinstallable Usually, when an INIT patches a trap, changing the INIT requires reinstalling the INIT in the Extensions folder and rebooting. This snippet demonstrates a technique which allows new INIT code to replace most of the old code without the developer having to reboot. Toolbox
ReKeyTrans Shows how to use the Script Manager and KCHRs to call KeyTrans. Toolbox
RequiredFinderColors Under system 7, the finder requies certain colors for the desktop icons to be displayed in their color versions. This snippet shows which colors are needed in the system color table. Toolbox
Scrap Parsing An example of how to parse the scrap in memory. Toolbox
SetIndString This C function takes the same parameters as GetIndString but does the opposite: it sets a particular STR# string to the string that’s passed in. Toolbox
SICN LDEF This LDEF displays small icons to the left of text in a list. Toolbox
Splasher A very simple application that displays a "modal" window that goes away as soon as you click the mouse or press a key. This is how many splash screens behave -- but as long as the window is displayed, the Process Manager won't switch your application from being frontmost. Toolbox
Sys7 popUpCDEF A simple example of using the PopupCDEF available in System 7 and later. Toolbox
TwoColumn LDEF This LDEF looks for a comma in the text of each cell and draws the text that follows the comma half-way across the cell. Toolbox
VertTest This sample application shows how to get information from a 'vers' resource (see Technical Note #189). Toolbox
WDEFColorSample This sample shows how to obtain the colors that embellish System 7 window, and was written for developers who found the system 7 WDEF too obscure. Though I tried to make it resemble the WDEF organization, it is NOT a sample on how towrite one. Toolbox
WDEFPatch This snippet shows how you can add a simple extra part to an existing WDEF and be able to do hit testing on the part via FindWindow(). The extra part in this case is on the right side of the title bar, just to the left of where the zoombox would be. When hit, it inverts the window. Toolbox
WindowColors This application displays the default window colors stored in the System's 'wctb' resource. Note that this app is 7.0 only, since it only recognizes the 7.0 version of the resource. Toolbox
ZoomWindow Demonstrates how to properly zoom a window. It gives attractive results with most WDEFs because it uses the window’s structure region rather than just its portRect. Toolbox